package com.hk.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hk.model.entity.Space;
import com.hk.model.vo.IdVO;
import com.hk.model.vo.space.SpaceEditVO;
import com.hk.model.vo.space.SpaceOperateVO;
import com.hk.model.vo.space.SpaceQueryParamVO;
import com.hk.model.vo.space.SpaceVO;

import java.util.List;
import java.util.Map;

/**
* @author 20231
* @description 针对表【space(空间)】的数据库操作Service
* @createDate 2025-01-02 18:28:18
*/
public interface SpaceService extends IService<Space> {

    /**
     * 删除空间
     * @param idVO
     */
    void delete(IdVO idVO);

    /**
     * 修改
     * @param operateVO
     * @return
     */
    SpaceVO updateSpace(SpaceOperateVO operateVO);

    /**
     * 新增
     * @param operateVO
     * @return
     */
    SpaceVO addSpace(SpaceOperateVO operateVO);

    /**
     * 获取空间信息
     * @param id
     * @return
     */
    SpaceVO getSpaceInfo(Long id);

    /**
     * 获取空间分页列表
     * @param queryParamVO
     * @return
     */
    Page<SpaceVO> getSpacePageList(SpaceQueryParamVO queryParamVO);

    SpaceVO editSpace(SpaceEditVO spaceEditVO);

    SpaceVO selectSpaceByUser(Long userId);

    Map<Long, SpaceVO> selectListMao(List<Long> spaceIdList);

    List<SpaceVO> selectList(List<Long> spaceIdList);
}
